package cn.tristenstudy.blog.service;

import cn.tristenstudy.blog.pojo.Type;
import cn.tristenstudy.blog.pojo.dto.TypeDTO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * 分类Service
 *
 * @author xichen1.li
 * @date 2020-12-25 16:42
 */
public interface TypeService {
    /**
     * 新增分类
     *
     * @param type 分类
     * @return 结果
     */
    Boolean saveType(Type type);

    /**
     * 查询一个分类
     *
     * @param id 分类id
     * @return 结果
     */
    Type getType(Long id);

    /**
     * 分页查询分类
     *
     * @param current 分类查询条件
     * @return 结果
     */
    Page<Type> listType(Long current);

    /**
     * 查询所有分类
     *
     * @return 结果
     */
    List<Type> list();

    /**
     * 首页分分类集合
     *
     * @param size 数量
     * @return 分类集合
     */
    List<TypeDTO> listTypeTop(Integer size);

    /**
     * 更新分类
     *
     * @param type 分类
     * @return 结果
     */
    Boolean updateType(Type type);

    /**
     * 删除分类
     *
     * @param id 分类id
     * @return 结果
     */
    Boolean deleteType(Long id);

    /**
     * 判断当前分类是否存在
     *
     * @param type 分类
     * @return true 不存在
     */
    boolean isNotExist(Type type);
}
